4
תגובות
עזרה עם while(true)
פתח
shlomo120
,
אהלן .
ניסיתי פעם ראשונה לעבוד עם לולאה שעובדת קבועה .
רשמתי את הקוד הבא :
אבל הוא לא מציג שום דבר , הוא רק טוען ו"חושב" ...
אפשר עזרה ? אני רוצה לפתח את זה יותר אבל נתקעתי בהתחלה ...
חג שמח :)
ניסיתי פעם ראשונה לעבוד עם לולאה שעובדת קבועה .
רשמתי את הקוד הבא :
<?php
error_reporting(E_ALL);
ignore_user_abort(TRUE);
set_time_limit(0);
while(true)
{
echo time();
sleep(5);
}
error_reporting(E_ALL);
ignore_user_abort(TRUE);
set_time_limit(0);
while(true)
{
echo time();
sleep(5);
}
אבל הוא לא מציג שום דבר , הוא רק טוען ו"חושב" ...
אפשר עזרה ? אני רוצה לפתח את זה יותר אבל נתקעתי בהתחלה ...
חג שמח :)
4 תשובות
ענה
PHPDeveloper
ב
11 לדצמבר 2012
#
למה שתעשה לולאה אינסופית? לא תקבל שום פלט עד שהלולאה תפסיק. במקרה הטוב השרת ייבטל את התהליך וייפלוט חלק במקרה הגרוע השרת ייקרוס בגלל כמות הפעילות שלו.
זה כי הדפדפן שלך מחכה לתשובה. הדפדפן שלך ימשיך לחכות לתשובה עד שלא תלחץ על סימן הX.
אבל זה לא אומר שהסקריפט שלך לא הופעל. תעשה במקום echo (שאף אחד אף לא יראה כי הסקרפיט ימשיך לעבוד גם כשתסגור את הדפדפן) תעשה כתיבה לאיזה קובץ.
ככה תוכל לפתוח אותו ולוודא שהכל עובד.
שנית, תוסיף תנאי יציאה כלשהו לפחות.
למשל שלא יעבוד יותר מחצי שעה, אחרת יהיה לך סתם משהו שרץ במחשב בלי סוף.